/*
 *
 * Copyright (C) 2008, 2009 i9 Project Contributors(1)
 *     All Rights Reserved.
 *
 * You may only modify and redistribute this under the terms of any of the
 * following licenses(2): MIT License
 *
 *
 * (1) i9 Project Contributors are listed in the AUTHORS file and at
 *     http://i9os.googlecode.com/svn/trunk/Documentation/AUTHORS - please extend this file,
 *     not this notice.
 * (2) Reproduced in the files in /Documentation/Licenses, and at:
 *     http://i9os.googlecode.com/svn/trunk/Documentation/Licenses
 * 
 * As per the MIT License, removal of this notice is prohibited.
 *
 * -------------------------------------------------------------------------
 */

/* A rudimentary implementation of Symbian OS Descriptors is here for compatibility 
*  It may not be fully compatible with Descriptors as implemented on Symbian OS,
   and is subject to change at any time.
*/

/* Include parts of the ISO C++ standard headers - these may not be needed later */

#include <cstdarg>
#include <cstdio>
#include <cctype>
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <cstddef>

using namespace std;

/* Baseline type definitions from birol.sekerci of Forum Nokia */

typedef void TAny;
typedef signed char TInt8;
typedef unsigned char TUint8;
typedef short int TInt16;
typedef unsigned short int TUint16;
typedef long int TInt32;
typedef unsigned long int TUint32;
typedef signed int TInt;
typedef unsigned int TUint;
typedef float TReal32;
typedef double TReal64;
typedef double TReal;
typedef unsigned char TText8;
typedef unsigned short int TText16;
typedef int TBool;
typedef char TChar;

/* From http://sqrl.it/?upsqo - Probably not functional */ 
#if defined(_UNICODE)
#define _LIT(name,s) const static TLitC<sizeof(L##s)/2> name={sizeof(L##s)/2-1,L##s}
#else
#define _LIT(name,s) const static TLitC<sizeof(s)> name={sizeof(s)-1,s}
#endif

/* const static TLitC<TInt> */ //As this is a wide (Unicode) build, TLItC<TInt> is a typedef for TLitC16<TInt>.
